on middle click, center slider on the click.
authorHavoc Pennington <hp@redhat.com>
Mon, 4 Jun 2001 19:29:25 +0000 (19:29 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Mon, 4 Jun 2001 19:29:25 +0000 (19:29 +0000)
2001-06-04  Havoc Pennington  <hp@redhat.com>

* gtk/gtkrange.c (gtk_range_button_press): on middle click, center
slider on the click.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkrange.c

index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index ac70a1def24f1aa9e64b04f9fd3d95a22adf3b2f..82ac2e7eb985bb5c6e02f97442a08ca67441696c 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-04  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
+       slider on the click.
+
 2001-06-03  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
index e813a143218543f19dde4edf77b414ebc7dc9476..942e68e9c329dc08b687e6c4a4f70a9bfe2bda7a 100644 (file)
@@ -922,15 +922,21 @@ gtk_range_button_press (GtkWidget      *widget,
        */
       if (event->button == 2)
         {
-          gdouble click_value;
-          
-          click_value = coord_to_value (range,
-                                        range->orientation == GTK_ORIENTATION_VERTICAL ?
-                                        event->y : event->x);
+          gdouble slider_low_value, slider_high_value;
           
+          slider_high_value =
+            coord_to_value (range,
+                            range->orientation == GTK_ORIENTATION_VERTICAL ?
+                            event->y : event->x);
+          slider_low_value =
+            coord_to_value (range,
+                            range->orientation == GTK_ORIENTATION_VERTICAL ?
+                            event->y - range->layout->slider.height :
+                            event->x - range->layout->slider.width);
           
           /* middle button jumps to point */
-          gtk_range_internal_set_value (range, click_value);
+          gtk_range_internal_set_value (range,
+                                        slider_low_value + (slider_high_value - slider_low_value) / 2);
 
           /* Calc layout so we can set slide_initial_slider_position
            * properly